package com.example.threadPool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Tpool1 {
    public static void main(String[] args) {
        // 创建一个固定大小的线程池
        /**
         * 1. 创建了一个固定大小的线程池（`newFixedThreadPool(3)`）。
         * 2. 同时有 3 个线程在并发执行任务。
         * 3. 执行完当前任务后，线程会回到池中，等待新的任务。
         */
        ExecutorService executorService = Executors.newFixedThreadPool(3);

        for (int i = 0; i < 5; i++) {
            executorService.execute(() -> {
                System.out.println(Thread.currentThread().getName() + "is running");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            });
        }

        // 关闭线程池
        executorService.shutdown();

    }
}
